#include "game.h"
#include "ui_game.h"
#include "gameselect.h"
#include <QPainter>
#include <QIcon>
#include <QPushButton>
#include <QFont>
#include <QSound>

Game::Game(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Game)
{
    ui->setupUi(this);

    // 设置窗口信息
    this->setFixedSize(1000, 800);
    this->setWindowTitle("贪吃蛇游戏");
    this->setWindowIcon(QIcon(":/D:/snake/8.png"));

    // 设置开始游戏按钮
    QPushButton* startBtn = new QPushButton(this);
    startBtn->setText("开始游戏");
    startBtn->move(this->width() * 0.4, this->height() * 0.7);
    startBtn->setStyleSheet("QPushButton { border : 0px; }");
    QFont font("华文行楷", 23, QFont::ExtraLight, false);
    startBtn->setFont(font);

    // 点击按钮就会进入游戏关卡界面
    GameSelect* select = new GameSelect;
    connect(startBtn, &QPushButton::clicked, [=](){
        select->setGeometry(this->geometry());// 设置窗口固定
        this->close();// 关闭游戏大厅界面
        select->show();// 显示游戏关卡界面

        // 注意：使用 QSound 类时， 需要添加模块：multimedia
        QSound::play(":res/clicked.wav");// 添加按钮点击音效
    });
}

Game::~Game()
{
    delete ui;
}

void Game::paintEvent(QPaintEvent *event)
{
    (void)event;// 去掉警告小技巧

    QPainter painter(this);// 实例化画家对象

    QPixmap pix(":/D:/photo/1.webp");// 实例化绘画设备

    painter.drawPixmap(0, 0, this->width(), this->height(), pix);// 绘画
}
